﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace CamadaDados
{
    public class banner
    {

        DB_CASAIS conexao = new DB_CASAIS(); 

        public void InicializarConexao(object banco)
        {
            ((DB_CASAIS)conexao).Connection.Open();
        }

        public void FecharConexao(object banco)
        {
            ((DB_CASAIS)conexao).Connection.Close();
        }


        public List<tb_local_banner> CarregarLocal()
        {
            
            var objLocal = new List<tb_local_banner>();

            try
            {
                InicializarConexao(conexao);
                objLocal = conexao.tb_local_banner.Where(q => q.CO_SITUACAO == 1).OrderBy(q => q.DS_LOCAL_BANNER).ToList();

            }
            catch (Exception)
            {
                
                throw;
            }
            finally
            {
                FecharConexao(conexao);
            }

            return objLocal;
        }

        public void GravarBanner(tb_banner objBanner)
        {

            try
            {
                InicializarConexao(conexao);
                conexao.AddTotb_banner(objBanner);
                conexao.SaveChanges();

            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(conexao);
            }
            
            
            
        }

        public void AlterarBanner(tb_banner objBanner)
        {

            try
            {
                InicializarConexao(conexao);
                var objBannerEditar = conexao.tb_banner.Where(q => q.CO_BANNER == objBanner.CO_BANNER).ToList().FirstOrDefault();
                objBannerEditar.NO_BANNER = objBanner.NO_BANNER;
                objBannerEditar.DS_BANNER = objBanner.DS_BANNER;
                objBannerEditar.DS_LINK = objBanner.DS_LINK;
                objBannerEditar.DS_TARGET = objBanner.DS_TARGET;
                objBannerEditar.DS_IMAGEM = objBanner.DS_IMAGEM;
                objBannerEditar.CO_LOCAL_BANNER = objBanner.CO_LOCAL_BANNER;
                objBannerEditar.CO_SITUACAO = objBanner.CO_SITUACAO;
                conexao.SaveChanges();

            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(conexao);
            }
            
            
        }

        public void ExcluirBanner(int intCodBanner)
        {
            try
            {
                InicializarConexao(conexao);
                var objBanner = conexao.tb_banner.Where(q => q.CO_BANNER == intCodBanner).ToList().FirstOrDefault();
                conexao.DeleteObject(objBanner);
                conexao.SaveChanges();
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(conexao);
            }
            
            
        }

        public List<tb_banner> ListarBanners()
        {
            try
            {
                InicializarConexao(conexao);
                var objBanner = conexao.tb_banner.ToList();
                return objBanner;
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(conexao);
            }
        }

        public tb_banner SelecionarBanner(int intCodBanner)
        {
            try
            {
                InicializarConexao(conexao);
                var objBanner = conexao.tb_banner.Where(q => q.CO_BANNER == intCodBanner).ToList().FirstOrDefault();
                return objBanner;
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(conexao);
            }
        }

        public void MudarStatus(int intCodBanner)
        {
            try
            {
                InicializarConexao(conexao);
                var objBanner = conexao.tb_banner.Where(q => q.CO_BANNER == intCodBanner).ToList().FirstOrDefault();

                if (objBanner.CO_SITUACAO == 0)
                {
                    objBanner.CO_SITUACAO = 1;
                }
                else
                {
                    objBanner.CO_SITUACAO = 0;
                }

                conexao.SaveChanges();
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(conexao);
            }

        }

        public int UltimoCodigoBanner()
        {
            int intCodUlt = 0;

            try
            {
                var objBanner = conexao.tb_banner.ToList().LastOrDefault();

                if (objBanner != null)
                {
                    intCodUlt = Convert.ToInt32(objBanner.CO_BANNER);
                }
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(conexao);
            }
            return intCodUlt;
        }

    }
}